package br.com.learning.negocios;

import java.sql.*;

public class BD {
	
	private static Connection c = BancoDeDados.getConnection();
	private static Statement s;
	
	private static String vSql;
	
	public static void setup(){
		
		vSql = "create table if not exists cursos\n"+
			   "(idcurso int auto_increment primary key,\n" +
			   " curso varchar(255),\n" +
			   " preco double)";
		
		try {
			s = c.createStatement();
			s.executeUpdate(vSql);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
	public static void insert(Cursos cursos){
		
		vSql = "insert into cursos (curso,preco)\n"+
			   "values ('" + cursos.getNome() + "'," + cursos.getPreco() + ")";
			
		try {
			s = c.createStatement();
			s.executeUpdate(vSql);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void update(Cursos cursos){
		
		vSql = "update cursos\n"+
			   "set curso = '" + cursos.getNome() + "',\n"+
			   "    preco = " + cursos.getPreco() + "\n" +
			   "where idcurso = " + cursos.getId();
			
		try {
			s = c.createStatement();
			s.executeUpdate(vSql);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static Cursos select(int idcurso){
		
		ResultSet r;
		Cursos curso = null;
		
		vSql = "select curso,preco\n"+
			   "from cursos\n"+
			   "where idcurso = " + idcurso;
			
		try {
			s = c.createStatement();
			r = s.executeQuery(vSql);
			
			if (r.next()) {
				curso = new Cursos(idcurso, r.getString("curso"), Double.parseDouble(r.getString("preco")));
			} else {
				curso = null;
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	
		return curso;
		
	}
	
	public static void delete(int idcurso){
		
		vSql = "delete from cursos\n"+
			   "where idcurso = " + idcurso;
			
		try {
			s = c.createStatement();
			s.executeUpdate(vSql);			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
}
